import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { render } from '@/utils/common/renderUtils';
import { sjlyOptionsListApi } from '@/api/wyf/pms/select';
import { xzqhTreeSelectListApi } from '@/api/wyf/xzqh/select';
import { filterDictTextByCache } from '/@/utils/dict/JDictSelectUtil';
import { h } from 'vue';
import { gxqyOptionsListApi } from '@/api/wyf/user/gxqySelect';
//import { rules } from '/@/utils/helper/validator';
// import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据
export const columns: BasicColumn[] = [
  {
    title: '房源编号',
    align: 'left',
    width: 200,
    dataIndex: 'wyfbh',
    //resizable: true,
  },
  {
    title: '房源名称',
    align: 'left',
    dataIndex: 'fh',
    width: 100,
  },
  {
    title: '管辖单位',
    align: 'left',
    dataIndex: 'gxdwmc',
    width: 100,
    // resizable: true,
  },
  {
    title: '所属区域',
    align: 'left',
    dataIndex: 'xzqh_dictText',
    // resizable: true,
  },
  {
    title: '详细地址',
    align: 'left',
    dataIndex: 'fwdz',
    width: 200,
    // resizable: true,
  },
  {
    title: '住客信息',
    align: 'left',
    width: 200,
    //dataIndex: 'jyrxm',
    customRender: ({ text, record }) => {
      return h('div', { class: 'zkxx' }, [h('div', null, `${record.xm}`), h('div', null, `${record.zjhm}`), h('div', null, `${record.lxdh}`)]);
    },
  },
  {
    title: '开门时间',
    align: 'left',
    dataIndex: 'kmsj',
    width: 170,
    // resizable: true,
  },
  {
    title: '开门方式',
    align: 'left',
    dataIndex: 'kmfs_dictText',
    width: 120,
    // resizable: true,
  },
  {
    title: '开门结果',
    align: 'left',
    dataIndex: 'kmjg_dictText',
    width: 120,
    // resizable: true,
  },
  {
    title: '数据来源',
    align: 'left',
    dataIndex: 'sjly_dictText',
    width: 120,
    // resizable: true,
  },

  // {
  //   title: '房源编号',
  //   align: 'left',
  //   dataIndex: 'wyfbh',
  //   //resizable: true,
  // },
];
//查询数据
export const searchFormSchema: FormSchema[] = [
  // {
  //   field: 'xzqh',
  //   label: '所属区域',
  //   component: 'ApiTreeSelect',
  //   componentProps: {
  //     api: xzqhTreeSelectListApi,
  //     params: {},
  //     resultField: 'result',
  //     multiple: true,
  //   },
  // },
  {
    label: '房源名称',
    field: 'fh',
    component: 'Input', //渲染的组件
    componentProps: {
      //  dictCode: 'status',
    },
  },
  {
    field: 'gxqy',
    label: '管辖单位',
    //component: 'ApiTreeSelect',
    component: 'JCascader',
    componentProps: {
      api: gxqyOptionsListApi,
      params: {},
      //resultField: 'title',
      // fieldNames: {
      //   label: 'id_dictText',
      //   value: 'id',
      // },
      // multiple: true,
      changeOnSelect: true,
    },
  },
  {
    field: 'xzqh',
    label: '所属区域',
    //component: 'ApiTreeSelect',
    component: 'JCascader',
    componentProps: {
      api: xzqhTreeSelectListApi,
      params: {},
      //resultField: 'title',
      // fieldNames: {
      //   label: 'title',
      //   value: 'value',
      // },
      // multiple: true,
      changeOnSelect: true,
    },
  },
  {
    label: '数据来源',
    field: 'sjly',
    component: 'ApiSelect', //渲染的组件
    //defaultValue: '', //设置默认值
    componentProps: {
      api: sjlyOptionsListApi,
      resultField: 'result',
      labelField: 'mc',
      valueField: 'id',
    },
  },
  {
    label: '管辖单位',
    field: 'fwdz',
    component: 'Input', //渲染的组件
  },
  {
    label: '详细地址',
    field: 'fwdz',
    component: 'Input', //渲染的组件
  },
  {
    label: '开门人姓名',
    field: 'xm',
    component: 'Input', //渲染的组件
    componentProps: {
      //  dictCode: 'status',
    },
  },
  {
    label: '开门人身份证',
    field: 'zjhm',
    component: 'Input', //渲染的组件
    componentProps: {
      //  dictCode: 'status',
    },
  },
  {
    label: '开门方式',
    field: 'kmfs',
    component: 'JDictSelectTag', //渲染的组件
    //defaultValue: '', //设置默认值
    componentProps: {
      dictCode: 'kmfs',
    },
  },
];

export const detailSchema = [
  {
    label: '',
    field: '房源编号',
    component: 'Input',
    slot: 'title1',
  },
  {
    label: '房源编号',
    field: 'wyfbh',
    component: 'Input',
  },
  {
    label: '所属区域',
    field: 'xzqh_dictText',
    component: 'Input',
  },
  {
    label: '管辖单位',
    field: 'gxdwmc',
    component: 'Input', //渲染的组件
  },
  {
    label: '详细地址',
    field: 'fwdz',
    component: 'Input',
  },
  {
    label: '房源名称',
    field: 'fh',
    component: 'Input',
  },
  {
    label: '营业信息',
    field: 'fwjyzt',
    component: 'Input',
    render: (text) => {
      console.log(text, '字典');
      return filterDictTextByCache('fwjyzt', text);
    },
    color: (text) => {
      return text == 0 ? 'text-green' : text == 2 ? 'text-red' : 'text-waring';
    },
  },
  {
    field: '开门信息',
    component: 'Input',
    label: '',
    slot: 'title2',
  },
];
// 开门记录
export const openinghColumns: BasicColumn[] = [
  {
    title: '开门人信息名',
    align: 'left',
    dataIndex: 'xm',
    width: 60,
    // resizable: true,
  },
  {
    title: '开门人身份证',
    align: 'left',
    dataIndex: 'zjhm',
    width: 140,
    // resizable: true,
  },
  {
    title: '开门人联系电话',
    align: 'left',
    dataIndex: 'lxdh',
    width: 100,
    // resizable: true,
  },
  {
    title: '开门时间',
    align: 'left',
    dataIndex: 'kmsj',
    width: 160,
    // resizable: true,
  },
  {
    title: '开门结果',
    align: 'left',
    dataIndex: 'kmjg_dictText',
    width: 80,
    // resizable: true,
  },
  {
    title: '照片',
    align: 'left',
    dataIndex: 'pics',
    width: 100,
    customRender: ({ text, record }) => {
      if (!text || text.length === 0) {
        return '-';
      }
      const imgStrs = text.map((i) => i.fileurl);
      console.log(imgStrs.join(','), 333);
      return render.renderImage({ text: imgStrs.join(',') });
      // // const imgList = text.map((filed, i) => {
      // //   return h('img', {
      // //     class: 'img-open',
      // //     src: filed.fileurl,
      // //   });
      // // });
      // const imgList = h('img', {
      //   class: 'img-open',
      //   height: 100,
      //   width: 100,
      //   src: text[0].fileurl,
      // });
      // return h('div', { class: 'openIMgs' }, imgList);
    },
    customCell: () => {
      return { style: { whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' } };
    },
  },
];
